/**
 * 老师相关API接口
 */

import request from '../utils/request'
import { API_PATHS } from './config'

const teacherApi = {
  /**
   * 人员详情
   * @param {number} id - 老师ID
   * @returns {Promise} 老师详情数据
   */
  getTeacherDetail(id) {
    return request.get(API_PATHS.TEACHER.DETAIL, { id })
  },

  /**
   * 编辑老师信息
   * @param {Object} teacherDto - 老师信息数据
   * @param {string} teacherDto.avatar - 头像
   * @param {string} teacherDto.nickname - 昵称
   * @param {string} teacherDto.phone - 手机号
   * @param {string} teacherDto.wechatNo - 微信号
   * @param {number} teacherDto.educationLevel - 学历 1本科 2硕士 3博士 4高校老师
   * @param {string} teacherDto.highestEducationSchool - 最高学历学校
   * @param {string} teacherDto.major - 专业
   * @param {Array} teacherDto.goodAtItems - 擅长辅导项目
   * @param {string} teacherDto.experience - 科研经历
   * @param {string} teacherDto.selfIntroduction - 自我介绍
   * @param {Array} teacherDto.pictureList - 证件照片列表
   * @returns {Promise} 编辑结果
   */
  editTeacher(teacherDto) {
    return request.post(API_PATHS.TEACHER.EDIT, teacherDto)
  },

  /**
   * 学生端首页-老师列表
   * @param {Object} params - 查询参数
   * @param {number} params.current - 当前页码
   * @param {number} params.size - 每页数量
   * @param {number} params.educationLevel - 学历筛选（可选）
   * @returns {Promise} 老师列表数据
   */
  getTeacherList(params) {
    return request.get(API_PATHS.TEACHER.LIST, params)
  },

  /**
   * 老师认证
   * @param {Object} teacherDto - 认证数据
   * @param {string} teacherDto.avatar - 头像
   * @param {string} teacherDto.nickname - 昵称
   * @param {string} teacherDto.phone - 手机号
   * @param {string} teacherDto.wechatNo - 微信号
   * @param {number} teacherDto.educationLevel - 学历
   * @param {string} teacherDto.highestEducationSchool - 最高学历学校
   * @param {string} teacherDto.major - 专业
   * @param {Array} teacherDto.goodAtItems - 擅长辅导项目
   * @param {string} teacherDto.experience - 科研经历
   * @param {string} teacherDto.selfIntroduction - 自我介绍
   * @param {Array} teacherDto.pictureList - 证件照片列表
   * @returns {Promise} 认证结果
   */
  submitTeacherVerify(teacherDto) {
    return request.post(API_PATHS.TEACHER.VERIFY, teacherDto)
  },

  /**
   * 获取认证信息
   * @returns {Promise} 认证信息
   */
  getVerifyInfo() {
    return request.get(API_PATHS.TEACHER.VERIFY_INFO)
  }
}

export default teacherApi
